﻿using MediatR;
using Medical.ErrorCode;

namespace Medical.Api.Write.Application.Command.PackagingSterilization.SterilizationRegistration
{
    /// <summary>
    /// 添加灭菌记录
    /// </summary>
    public class AddSterilizationRegistrationCommand:IRequest<ApiResult<int>>
    {
        /// <summary>
        /// 灭菌批号
        /// </summary>
        public string BatchNumber { get; set; } = null!;

        /// <summary>
        /// 灭菌方式
        /// </summary>
        public int SterilizationMode { get; set; }

        /// <summary>
        /// 灭菌设备ID
        /// </summary>
        public int EquipmentId { get; set; }

        /// <summary>
        /// 灭菌批次
        /// </summary>
        public string SterilizationBatch { get; set; } = null!;

        /// <summary>
        /// 灭菌人
        /// </summary>
        public string Operator { get; set; } = null!;

        /// <summary>
        /// 开始时间
        /// </summary>
        public DateTime StartTime { get; set; } = DateTime.Now;
        /// <summary>
        /// 灭菌时长（分钟）
        /// </summary>
        public int SterilizationDuration { get; set; } = 32;
        /// <summary>
        /// 灭菌状态（0=未完成，1=已完成）
        /// </summary>
        public int Status { get; set; } = 0;
        /// <summary>
        /// 完成人
        /// </summary>
        public string CompletionOperator { get; set; } = null!;

        /// <summary>
        /// 完成时间
        /// </summary>
        public DateTime? CompletionTime { get; set; }

        /// <summary>
        /// 灭菌结果（true:合格，false:不合格）
        /// </summary>
        public bool SterilizationResult { get; set; }=false;
        /// <summary>
        /// 包Id
        /// </summary>
        public List<int> EquipmentPackageIds { get; set; }
    }
}
